package com.dynabook.ems.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 成品列表响应
 */
@Data
@ApiModel(value = "成品列表响应", description = "成品列表响应数据")
public class ProductListVO implements Serializable {

    /**
     * 样品编号
     */
    @ApiModelProperty(value = "样品编号", example = "2508001")
    private String fixedNo;

    /**
     * 工单号
     */
    @ApiModelProperty(value = "工单号", example = "M0000001")
    private String workOrderNumber;

    /**
     * 成品型号
     */
    @ApiModelProperty(value = "成品型号", example = "PNL13N-AAA11-C01")
    private String finishedProductModel;

    /**
     * 机型名称
     */
    @ApiModelProperty(value = "旧品名称", example = "Pearl20")
    private String modelName;

    /**
     * 成品数量
     */
    @ApiModelProperty(value = "替换品数量", example = "1")
    private Integer totalNum;

    /**
     * 成品状态
     */
    @ApiModelProperty(value = "成品状态", example = "待编辑")
    private String modelStatusText;

    /**
     * 创建人员
     */
    @ApiModelProperty(value = "创建人员", example = "苏贝贝")
    private String instoreOperator;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", example = "2025-05-28")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime instoreDate;

    /**
     * 旧品型号
     */
    @ApiModelProperty(value = "旧品型号")
    private String type;


    /**
     * 样机状态值（用于内部处理）
     */
    @ApiModelProperty(hidden = true)
    @JsonIgnore
    private Integer modelStatus;

    private static final long serialVersionUID = 1L;
} 